CoALP-Ty'16

نویسندگان

  • Ekaterina Komendantskaya
  • Frantisek Farka
چکیده

Type classes are an immensely popular andproductive feature of Haskell. They have since been adoptedin, and adapted to, numerous other languages, including the-orem provers. We show that type classes have a natural andefficient representation in .NET that paves the way for theextension of F#, C# and other .NET languages with typeclasses. Our encoding is type preserving and promises easyand safe cross-language inter-operation. We have extendedthe open source C# compiler and language service, Roslyn,with pervasive support for type classes and have prototypeda more minimalist design for F#.(This talk was originally presented at the ACM SIGPLANWorkshop on ML, September 2016, Nara, Japan).

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Structural Resolution with Co-inductive Loop Detection

c Yue Li This work is licensed under the Creative Commons Attribution-Share Alike License. A way to combine co-SLD style loop detection with structural resolution was found and is introduced in this work, to extend structural resolution with co-induction. In particular, we present the operational semantics, called co-inductive structural resolution, of this novel combination and prove its sound...

متن کامل

Exploiting Parallelism in Coalgebraic Logic Programming

We present a parallel implementation of Coalgebraic Logic Programming (CoALP) in the programming language Go. CoALP was initially introduced to reflect coalgebraic semantics of logic programming, with coalgebraic derivation algorithm featuring both corecursion and parallelism. Here, we discuss how the coalgebraic semantics influenced our parallel implementation of logic programming.

متن کامل

(Co)recursion in Logic Programming: Lazy vs Eager

Coalgebraic Logic Programming (CoALP) is a dialect of Logic programming designed to work with coinductive definitions of infinite objects. Its main goal is to introduce guarded lazy corecursion akin functional theorem provers into logic programming. In this paper, we give the first full formal account of guarded corecursion in CoALP, and present its implementation.

متن کامل

Extending Coinductive Logic Programming with Co-Facts

We introduce a generalized logic programming paradigm where programs, consisting of facts and rules with the usual syntax, can be enriched by co-facts, which syntactically resemble facts but have a special meaning. As in coinductive logic programming, interpretations are subsets of the complete Herbrand basis, including infinite terms. However, the intended meaning (declarative semantics) of a ...

متن کامل

Trace and Stable Failures Semantics for CSP-Agda

CSP-Agda is a library, which formalises the process algebra CSP in the interactive theorem prover Agda using coinductive data types. In CSP-Agda, CSP processes are in monadic form, which supports a modular development of processes. In this paper, we implement two main models of CSP, trace and stable failures semantics, in CSP-Agda, and define the corresponding refinement and equality relations....

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1612.03032  شماره 

صفحات  -

تاریخ انتشار 2016